﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace DAO
{
    class Util
    {
        //Hàm trả ra keyword của từ khóa text (bài của mình là tên địa điểm)
        public static List<String> GetKeyWords(String text)
        {
            if (text.Trim() == "")
                return null;

            List<String> result = new List<String>();

            //Lấy chuỗi keyword bằng cách bỏ khoảng trắng
            result.Add(text.Replace(" ", ""));

            //Lấy chuỗi keyword bằng cách bỏ dấu tiếng Việt
            String textTemp = ConvertToUnSign(text);
            result.Add(textTemp);

            //Lấy chuỗi keyword bằng cách bỏ dấu tiếng Việt và bỏ khoảng trắng
            result.Add(textTemp.Replace(" ", ""));

            return result;
        }

        public static string ConvertToUnSign(string text)
        {
            for (int i = 33; i < 48; i++)
            {
                text = text.Replace(((char)i).ToString(), "");
            }

            for (int i = 58; i < 65; i++)
            {
                text = text.Replace(((char)i).ToString(), "");
            }

            for (int i = 91; i < 97; i++)
            {
                text = text.Replace(((char)i).ToString(), "");
            }

            for (int i = 123; i < 127; i++)
            {
                text = text.Replace(((char)i).ToString(), "");
            }

            Regex regex = new Regex(@"\p{IsCombiningDiacriticalMarks}+");
            string strFormD = text.Normalize(System.Text.NormalizationForm.FormD);
            return regex.Replace(strFormD, String.Empty).Replace('\u0111', 'd').Replace('\u0110', 'D');
        }
    }
}
